home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / zmailer / zmailer.README < prev    next >
Encoding:
Text File  |  1991-06-02  |  7.2 KB  |  153 lines

  1. ZMailer Overview
  2.  
  3.  
  4. - What is this?
  5.  
  6.   This is a package that implements an internet message transfer agent called
  7.   ZMailer.  It is intended for gateways or mail servers or other large site
  8.   environments that have extreme demands on the abilities of the mailer.  It
  9.   was motivated by the problems of the Sendmail design in such situations.
  10.  
  11.   ZMailer is intended and designed as a multi-protocol mailer.  The only
  12.   protocol supported in this distribution is RFC822 (and variations).
  13.  
  14.  
  15. - What good will it do me?
  16.  
  17.   Different people and sites differ in priorities.  Keep that in mind
  18.   when reading this ``features'' list:
  19.  
  20.   Code and Design features:
  21.  
  22.   + Strong limits on host impact.
  23.   + Secure design (and hopefully implementation).
  24.   + Natural fit for client/server environments.
  25.   + Extremely customizable configuration mechanism.
  26.   + Flexible database interface with support for: sorted files, unsorted
  27.     files, dbm, ndbm, gdbm, nis (yellow pages), dns (BIND resolver),
  28.     /etc/hosts file, and in-core data.
  29.   + Efficient message queue management.
  30.   + Fast binary-transparent SMTP server and client.
  31.   + Low-technology implementation.
  32.  
  33.   Default configuration file features:
  34.  
  35.   + Default configuration will work for most sites.
  36.   + Network protocol support for: smtp, uucp, bitnet, mail to news.
  37.   + An easy way of overriding any external routing information.
  38.   + Automatic handling of mailing lists.
  39.  
  40.  
  41. - How does it work?
  42.  
  43.   ZMailer is a multi-process mailer, using two daemon processes to manipulate
  44.   messages.  One of these processes is a router, and makes all decisions about
  45.   what should happen to a message.  The other daemon is a message queue manager,
  46.   used to schedule delivery of messages.  The Router uses a configuration file
  47.   that closely follows Bourne shell script syntax and semantics with minimal
  48.   magic.  Message files are moved around in a series of directories, and the
  49.   Scheduler and its Transport Agents run off of control files created by the
  50.   Router.
  51.  
  52.   The Router will process messages one at a time, as it finds them in a
  53.   directory where User Agents submit their outgoing messages.  Envelope
  54.   and Message Header information is all kept in the same message file along
  55.   with the message body, and this file is never modified by any ZMailer
  56.   program.  After parsing the envelope and RFC822 header information, the
  57.   Router validates the information extracted, and calls functions defined in
  58.   the configuration file to decide exactly how to deliver the message and how
  59.   to transform the embedded addresses.  The algorithms that do this are easily
  60.   reconfigurable, since the control flow and address manipulation is specified
  61.   by familiar shell script statements.  When the Router is finished, it will
  62.   produce a message control file for use by the delivery processing stage of
  63.   ZMailer, and move the original message file to another location.
  64.  
  65.   Once the Router has decided what to do with each of the addresses in a
  66.   message, the Scheduler builds a summary of this information by reading the
  67.   control file created by the Router.  This knowledge is merged with a data
  68.   structure it maintains that stores which messages are supposed to be sent
  69.   where, and how.  According to a pre-arranged agenda, the Scheduler will
  70.   execute delivery programs to properly move the message envelope, header, and
  71.   body, to the immediate destination.  These delivery programs are called
  72.   Transport Agents, and communicate with the Scheduler using a simple protocol
  73.   that tells them which messages to process and returns status reports to the
  74.   Scheduler.  The Scheduler also manages status reports, taking appropriate
  75.   action on delivery errors and when all delivery instructions for a message
  76.   have been processed.
  77.  
  78.   There are several standard Transport Agents included with the ZMailer
  79.   distribution.  The collection currently includes a local delivery program,
  80.   an SMTP client implementation, and a Transport Agent that can run
  81.   Sendmail-compatible delivery programs.
  82.  
  83.   A separate utility allows querying the Scheduler for the state of its mail
  84.   queues.  For existing Sendmail installations, a Sendmail replacement program
  85.   is included that simulates most of the Sendmail functionality in the ZMailer
  86.   environment.  This allows ZMailer to replace a working Sendmail installation
  87.   without requiring changes in standard User Agents.
  88.  
  89.   If you have a client/server host environment, mail clients need not run
  90.   any daemons.  They only need two programs (the Sendmail replacement, and
  91.   a mail queue querying program) and a view of the mail server's spool area.
  92.  
  93.  
  94. - How will it affect my current system?
  95.  
  96.   Two programs will be replaced: /usr/lib/sendmail (with a functionality
  97.   emulator), and /bin/rmail (for completeness).  Nothing else will be
  98.   changed, so it is very easy to back out if you want to.
  99.  
  100.  
  101. - What problems can I expect?
  102.  
  103.   This software is in use on several major mail gateways.  The development
  104.   machine is a departmental system that processes 2000 messages a day.  This
  105.   mailer has been running on it in some form for 3 years.  This means
  106.   that you are unlikely to see crippling problems in the software.
  107.  
  108.   You may well encounter problems due to your local Operating System,
  109.   libraries, compiler (this software makes a good compiler test suite),
  110.   or other things about your environment that I have not considered.
  111.  
  112.   The ZMailer Router RFC822 implementation is rather picky about adherence
  113.   to the protocol standards.  You may run into cases where an error that
  114.   has been ignorable or unknown so far, will generate automatic complaints
  115.   from the mailer to users, and from users to you.  Much of this pickyness is
  116.   required.  Some is not, and is deselectable.
  117.  
  118.   Due to the security mechanism, in particular the propagation and use of
  119.   privilege levels associated with addresses, the default setup requires that
  120.   the .forward and mailing list files be publically readable.  Otherwise,
  121.   unprivileged addresses (e.g., those specified from outside the host), will
  122.   not be able to use the contents of such files.  Similarly, if the source
  123.   of an address is not ``secure'', the address will have no privileges.
  124.   In particular, for an address to take on the privileges of whomever
  125.   specified it (as in a .forward file), its source file must be owner-only
  126.   writable, and in a directory which has the same ownership or is owned by
  127.   root and is also owner-only writable.  These checks may be disabled.
  128.  
  129.  
  130. - What level of support can I expect?
  131.  
  132.   I will promptly fix problems that I consider serious if they are reproducible
  133.   on a system I have easy access to.  Any comments or reports you send in will
  134.   be saved and considered.  Because of my other activities, I cannot commit
  135.   to answering non-critical items in a timely manner, or at all.
  136.  
  137.   There is a mailing list you can join if you would like the ear of a community.
  138.   Send subscription requests to zmailer-request@cs.toronto.edu.
  139.  
  140.  
  141. - How do I install this?
  142.  
  143.   If you are an SMTP (and possibly UUCP) site running a supported OS,
  144.   you can use a supplied host environment description and the default
  145.   Router configuration files.
  146.  
  147.   Read the file "INSTALL" for detailed installation information.
  148.  
  149.   Read the file doc/guides/aliases for information on local address
  150.   interpretation, and doc/guides/lists for a quick introduction to
  151.   setting up mailing lists.
  152.  
  153.